perm filename SUIO.MAC[X,ALS]1 blob
sn#051302 filedate 1974-01-09 generic text, type T, neo UTF8
00100 ; SUBROUTINE SETDA(JFN,SPEED)
00200 ;OR SUBROUTINE SETDA(JFN)
00300 ;OR SUBROUTINE SETDA
00400 TITLE SETDA
00500 ENTRY SETDA
00600 ENTRY DAOUT
00700 SETDA: 0
00800 HRRZI 1,0
00900 DPB 1,[POINT 2,OUTBIT,26]
01000 HLRZ 1,0(16) ;IS THERE A JFN?
01100 ANDI 1,777000
01200 CAIE 1,320000
01300 JRST NOJFN
01400 HRLZ 1,@0(16)
01500 LSH 1,5
01600 IORM 1,OPN
01700 IORM 1,OUTPT
01800 HLRZ 1,1(16) ;IS THERE A SPEED?
01900 ANDI 1,777000
02000 CAIE 1,320000
02100 JRST NOSPED
02200 MOVE 1,@1(16) ;GET SPEED
02300 CAIL 1,5
02400 NOJFN: HRRZI 1,1
02500 CAIA 0,0
02600 NOSPED: HRRZI 1,1
02700 GOON: DPB 1,[POINT 3,OUTBIT,32]
02800 OPN: OPEN 0,[117 ;MODE
02900 'AD ' ;DEVICE NAME
03000 0] ;NO BUFFER HEADERS
03100
03200 TTCALL 3,MSG
03300 JRA 16,0(16)
03400 MSG: ASCIZ/ CANNOT OPEN DA /
00100 ; SUBROUTINE DAOUT(NUM,BUF)
00200 OUTWC: 0
00300 3650 ;MAGIC BITS FOR 136.
00400 OUTBIT: 4000 ;BITS FOR D-A
00500 BLOCK 2
00600 DAOUT: 0
00700 HRRZ 1,1(16) ;GET BUF POINTER
00800 SOJ 1,1 ;NOW WE HAVE BUF-1
00900 HRRZM 1,OUTWC ;NOW WE HAVE 0,BUF-1
01000 MOVN 1,@0(16) ;GET -NUM
01100 HRLM 1,OUTWC ;NOW WE HAVE -NUM,BUF-1
01200 OUTPT: OUTPUT 0,OUTWC
01300 JRA 16,2(16)
01400 PRGEND
00100 ; SUBROUTINE LOCK
00200 ; SUBROUTINE UNLOCK
00300 TITLE LOCK
00400 ENTRY LOCK
00500 ENTRY UNLOCK
00600 LOCK: 0
00700 CALLI 400076
00800 JRA 16,0(16)
00900 UNLOCK: 0
01000 CALLI 400077
01100 JRA 16,0(16)
01200 PRGEND
00100 TITLE MAGSTF
00200 ; SUBROUTINE SETMAG(NUM)
00300 ; SUBROUTINE REWIND
00400 ; SUBROUTINE GMAGRC(ARRAY,LENGTH)
00500 ; SUBROUTINE PMAGRC(ARRAY,LENGTH)
00600 ; SUBROUTINE MCLOSE
00700 ; SUBROUTINE RELMAG
00800 ; SUBROUTINE NEXFIL
00900 ; SUBROUTINE PREFIL
01000 ENTRY SETMAG
01100 ENTRY REWIND
01200 ENTRY GMAGRC
01300 ENTRY PMAGRC
01400 ENTRY MCLOSE
01500 ENTRY RELMAG
01600 ENTRY NEXFIL
01700 ENTRY PREFIL
01800 TEMP: 0
01900 ADR: BLOCK 2
02000 MT1: SIXBIT/MTA1/
02100 MT0: SIXBIT/MTA0/
00100 SETMAG: 0
00200 MOVEM 0,TEMP
00300 MOVE 0,MT0
00400 MOVEM 0,MGTAPE
00500 MOVE 0,@0(16)
00600 JUMPE 0,.+3
00700 MOVE 0,MT1
00800 MOVEM 0,MGTAPE
00900 INIT 5,17
01000 MGTAPE: 0
01100 0
01200 JRST .+3
01300 MOVE 0,TEMP
01400 JRA 16,0(16)
01500 TTCALL 3,SETERR
01600 HALT
01700 SETERR: ASCIZ /
01800 ERROR IN SETMAG - HALTING
01900 /
02000 REWIND: 0
02100 MTAPE 5,1
02200 JFCL
02300 MTAPE 5,0
02400 JRA 16,0(16)
00100 GMAGRC: 0
00200 MOVEM 1,TEMP
00300 MOVN 1,@1(16)
00400 HRLZM 1,ADR
00500 HRRZ 1,0(16)
00600 SOJ 1,0
00700 HRRM 1,ADR
00800 IN 5,ADR
00900 CAIA 1,0
01000 TTCALL 3,RERR
01100 MOVE 1,TEMP
01200 JRA 16,2(16)
01300 RERR: ASCIZ /
01400 ERROR IN MAGTAPE READING - CONTINUING
01500 /
00100 PMAGRC: 0
00200 MOVEM 1,TEMP
00300 MOVN 1,@1(16)
00400 HRLZM 1,ADR
00500 HRRZ 1,0(16)
00600 SOJ 1,0
00700 HRRM 1,ADR
00800 OUT 5,ADR
00900 CAIA 1,0
01000 TTCALL 3,WERR
01100 MOVE 1,TEMP
01200 JRA 16,2(16)
01300 WERR: ASCIZ /
01400 ERROR IN MAGTAPE WRITING - CONTINUING
01500 /
00100 MCLOSE: 0
00200 CLOSE 5,0
00300 JRA 16,0(16)
00400 RELMAG: 0
00500 RELEASE 5,0
00600 JRA 16,0(16)
00700 NEXFIL: 0
00800 MTAPE 5,16
00900 MTAPE 5,0
01000 JRA 16,0(16)
01100 PREFIL: 0
01200 MTAPE 5,17
01300 MTAPE 5,0
01400 MTAPE 5,17
01500 MTAPE 5,0
01600 STATO 5,4000
01700 MTAPE 5,16
01800 MTAPE 5,0
01900 JRA 16,0(16)
02000 PRGEND
00100 TITLE XGPSTF
00200 ; SUBROUTINE SETXGP
00300 ENTRY SETXGP
00400 ; SUBROUTINE SETXG2
00500 ENTRY SETXG2
00600 ; SUBROUTINE OUTXGP(BUFFER,NUM)
00700 ENTRY OUTXGP
00800 ; SUBROUTINE OUTXG1(BUFFER,NUM)
00900 ENTRY OUTXG1
01000 ; SUBROUTINE OUTXG2(BUFFER,NUM)
01100 ENTRY OUTXG2
01200 ; SUBROUTINE OUTXG3(BUFFER,NUM)
01300 ENTRY OUTXG3
01400 ; SUBROUTINE SETMRK(WORD)
01500 ENTRY SETMRK
01600 ; SUBROUTINE SETLNS(WORD,LNSKIP)
01700 ENTRY SETLNS
01800 ; SUBROUTINE SETCLS(WORD,COLSKP)
01900 ENTRY SETCLS
02000 ; SUBROUTINE SETDCT(WORD,NDATA)
02100 ENTRY SETDCT
02200 ; SUBROUTINE RELXGP
02300 ENTRY RELXGP
02400 TEMP: 0
02500 ADR: 0
02600 0
02700 ADR1: 0
02800 0
02900 ADR2: 0
03000 0
03100 ADR3: 0
03200 0
03300 SETXGP: 0
03400 INIT 4,117
03500 SIXBIT /XGP/
03600 0
03700 JRST .-3
03800 JRA 16,0(16)
03900 SETXG2: 0
04000 INIT 4,17
04100 SIXBIT /XGP/
04200 0
04300 JRST .-3
04400 JRA 16,0(16)
00100 OUTXGP: 0
00200 MOVEM 1,TEMP
00300 MOVN 1,@1(16)
00400 HRLZM 1,ADR
00500 MOVE 1,0(16)
00600 SOJ 1,0
00700 HRRM 1,ADR
00800 OUT 4,ADR
00900 CAIA 0,0
01000 JRST FAIL
01100 MOVE 1,TEMP
01200 JRA 16,2(16)
01300 FAIL: TTCALL 3,MES
01400 JRST .-3
01500 MES: ASCIZ /
01600 FAILURE IN OUTXGP
01700 /
00100 OUTXG1: 0
00200 MOVEM 1,TEMP
00300 MOVN 1,@1(16)
00400 HRLZM 1,ADR1
00500 MOVE 1,0(16)
00600 SOJ 1,0
00700 HRRM 1,ADR1
00800 OUT 4,ADR1
00900 CAIA 0,0
01000 JRST FAIL1
01100 MOVE 1,TEMP
01200 JRA 16,2(16)
01300 FAIL1: TTCALL 3,MES1
01400 JRST .-3
01500 MES1: ASCIZ /
01600 FAILURE IN OUTXG1
01700 /
00100 OUTXG2: 0
00200 MOVEM 1,TEMP
00300 MOVN 1,@1(16)
00400 HRLZM 1,ADR2
00500 MOVE 1,0(16)
00600 SOJ 1,0
00700 HRRM 1,ADR2
00800 OUT 4,ADR2
00900 CAIA 0,0
01000 JRST FAIL2
01100 MOVE 1,TEMP
01200 JRA 16,2(16)
01300 FAIL2: TTCALL 3,MES2
01400 JRST .-3
01500 MES2: ASCIZ /
01600 FAILURE IN OUTXG2
01700 /
00100 OUTXG3: 0
00200 MOVEM 1,TEMP
00300 MOVN 1,@1(16)
00400 HRLZM 1,ADR3
00500 MOVE 1,0(16)
00600 SOJ 1,0
00700 HRRM 1,ADR3
00800 OUT 4,ADR3
00900 CAIA 0,0
01000 JRST FAIL3
01100 MOVE 1,TEMP
01200 JRA 16,2(16)
01300 FAIL3: TTCALL 3,MES3
01400 JRST .-3
01500 MES3: ASCIZ /
01600 FAILURE IN OUTXG3
01700 /
00100 SETMRK: 0
00200 MOVEM 1,TEMP
00300 HRLZI 1,400000
00400 IORM 1,@0(16)
00500 MOVE 1,TEMP
00600 JRA 16,1(16)
00700 SETLNS: 0
00800 MOVEM 1,TEMP
00900 MOVE 1,@1(16)
01000 ANDI 1,3777
01100 HRLZ 1,1
01200 LSH 1,6
01300 IORM 1,@0(16)
01400 MOVE 1,TEMP
01500 JRA 16,2(16)
01600 SETCLS: 0
01700 MOVEM 1,TEMP
01800 MOVE 1,@1(16)
01900 ANDI 1,7777
02000 LSH 1,14
02100 IORM 1,@0(16)
02200 MOVE 1,TEMP
02300 JRA 16,2(16)
02400 SETDCT: 0
02500 MOVEM 1,TEMP
02600 MOVE 1,@1(16)
02700 ANDI 1,77
02800 IORM 1,@0(16)
02900 MOVE 1,TEMP
03000 JRA 16,2(16)
03100 RELXGP: 0
03200 RELEAS 4,0
03300 JRA 16,0(16)
03400 PRGEND
00100 TITLE NULL
00200 ENTRY NULL
00300 NULL: 0
00400 JRA 16,0(16)
00500 END